package com.ruoyi.platform.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 经营许可证信息对象 tb_business_certificate
 * 
 * @author ruoyi
 * @date 2025-08-18
 */
public class TbBusinessCertificate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 服务机构ID */
    private Long serviceInstitutionId;

    /** 服务机构名称 */
    @Excel(name = "服务机构名称")
    private String licenseOrgName;

    /** 许可地行政区划代码 */
    @Excel(name = "许可地行政区划代码")
    private String licenseAdminDivCode;

    /** 许可证号 */
    @Excel(name = "许可证号")
    private String licenseNumber;

    /** 经营区域-省份 */
    private Long businessRegionProvince;

    /** 经营区域-城市 */
    private Long businessRegionCity;

    /** 经营区域-区县 */
    @Excel(name = "经营区域-区县")
    private Long businessRegionCounty;

    /** 发证机构名称 */
    @Excel(name = "发证机构名称")
    private String issuingOrg;

    /** 证件有效日期-开始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "证件有效日期-开始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date licenseStartDate;

    /** 证件有效日期-结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "证件有效日期-结束", width = 30, dateFormat = "yyyy-MM-dd")
    private Date licenseEndDate;

    /** 发证日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发证日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date issueDate;

    /** 许可证状态：1有效 2过期 等（可扩展） */
    @Excel(name = "许可证状态：1有效 2过期 等", readConverterExp = "可=扩展")
    private Long licenseStatus;

    public void setServiceInstitutionId(Long serviceInstitutionId) 
    {
        this.serviceInstitutionId = serviceInstitutionId;
    }

    public Long getServiceInstitutionId() 
    {
        return serviceInstitutionId;
    }

    public void setLicenseOrgName(String licenseOrgName) 
    {
        this.licenseOrgName = licenseOrgName;
    }

    public String getLicenseOrgName() 
    {
        return licenseOrgName;
    }

    public void setLicenseAdminDivCode(String licenseAdminDivCode) 
    {
        this.licenseAdminDivCode = licenseAdminDivCode;
    }

    public String getLicenseAdminDivCode() 
    {
        return licenseAdminDivCode;
    }

    public void setLicenseNumber(String licenseNumber) 
    {
        this.licenseNumber = licenseNumber;
    }

    public String getLicenseNumber() 
    {
        return licenseNumber;
    }

    public void setBusinessRegionProvince(Long businessRegionProvince) 
    {
        this.businessRegionProvince = businessRegionProvince;
    }

    public Long getBusinessRegionProvince() 
    {
        return businessRegionProvince;
    }

    public void setBusinessRegionCity(Long businessRegionCity) 
    {
        this.businessRegionCity = businessRegionCity;
    }

    public Long getBusinessRegionCity() 
    {
        return businessRegionCity;
    }

    public void setBusinessRegionCounty(Long businessRegionCounty) 
    {
        this.businessRegionCounty = businessRegionCounty;
    }

    public Long getBusinessRegionCounty() 
    {
        return businessRegionCounty;
    }

    public void setIssuingOrg(String issuingOrg) 
    {
        this.issuingOrg = issuingOrg;
    }

    public String getIssuingOrg() 
    {
        return issuingOrg;
    }

    public void setLicenseStartDate(Date licenseStartDate) 
    {
        this.licenseStartDate = licenseStartDate;
    }

    public Date getLicenseStartDate() 
    {
        return licenseStartDate;
    }

    public void setLicenseEndDate(Date licenseEndDate) 
    {
        this.licenseEndDate = licenseEndDate;
    }

    public Date getLicenseEndDate() 
    {
        return licenseEndDate;
    }

    public void setIssueDate(Date issueDate) 
    {
        this.issueDate = issueDate;
    }

    public Date getIssueDate() 
    {
        return issueDate;
    }

    public void setLicenseStatus(Long licenseStatus) 
    {
        this.licenseStatus = licenseStatus;
    }

    public Long getLicenseStatus() 
    {
        return licenseStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("serviceInstitutionId", getServiceInstitutionId())
            .append("licenseOrgName", getLicenseOrgName())
            .append("licenseAdminDivCode", getLicenseAdminDivCode())
            .append("licenseNumber", getLicenseNumber())
            .append("businessRegionProvince", getBusinessRegionProvince())
            .append("businessRegionCity", getBusinessRegionCity())
            .append("businessRegionCounty", getBusinessRegionCounty())
            .append("issuingOrg", getIssuingOrg())
            .append("licenseStartDate", getLicenseStartDate())
            .append("licenseEndDate", getLicenseEndDate())
            .append("issueDate", getIssueDate())
            .append("licenseStatus", getLicenseStatus())
            .toString();
    }
}
